Release 10.1A: OpenEdge Development:
ProDataSets


Filtering the top-level query based on the user selection

You will recall from earlier examples that the ProDataSet BEFORE-FILL event procedure, called preDataSetFill, prepares the top-level query for Orders to select the one OrderNum passed in as an input parameter. Now you want to use the where-clause stored in the variable cSelection instead.

Modify preDataSetFill accordingly, as follows:

 PROCEDURE preDataSetFill: 
    DEFINE INPUT PARAMETER DATASET FOR dsOrder. 
    QUERY qOrder:QUERY-PREPARE("FOR EACH Order WHERE " +  
                    cSelection + 
                    ", FIRST Customer OF Order, FIRST SalesRep OF Order"). 
     
 END PROCEDURE. /* preDataSetFill */ 

Now the fill will load not just one Order, but typically a whole set of Orders into the top-level table.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095